import ast

from 程序核心代码.ast节点.节点定义.具体ast节点.容器.带容器节点模版 import 带容器ast节点基础模型模板
from 程序核心代码.mvvm重构.基础定义.节点管理器.自动节点注册表 import 节点模型匹配器, 注册节点模型


@注册节点模型(ast.If)
class if如果控制节点(带容器ast节点基础模型模板):

    def 节点数据解析(self):
        pass

    def __init__(self, ast节点, 所属节点模型管理器, 上级节点=None, 节点位置=None):
        super().__init__(ast节点, 所属节点模型管理器, "if如果控制节点", 节点位置=节点位置, 上级节点=上级节点)
        self.是控制节点 = True
        条件对象 = 节点模型匹配器(self._ast节点.test, self.所属节点模型管理器)

        起始接口 = 条件对象.添加接口到节点("数据流", "输出", 必须连接=True)
        结束接口 = self.添加接口到节点("数据流", "输入", 接口名称="条件", 必须连接=True)
        起始接口.接口创建连接线模型(结束接口, self)

        # 节点匹配器直接处理
        循环完成处理 = self._ast节点.orelse
        # if 循环完成处理:
        #     # 循环完成处理 = 起始接口.处理节点(起始接口._ast节点.iter, 起始接口.节点路径 + ["iter"], 起始接口.所属节点模型管理器)
        #     print("判断完成处理", 循环完成处理)
        # else:
        #     print("判断完成处理")